package com.us.usws.site.ws.entity.shared.meeting;

import java.util.Date;
import java.util.List;

import org.codehaus.jackson.annotate.JsonProperty;
import org.codehaus.jackson.annotate.JsonPropertyOrder;

import com.us.usws.model.domain.Meeting;

@JsonPropertyOrder({ "id", "room_id", "title", "content", "start_time", "end_time", "url", "presenter", "meeting_type", "status",
		"snapshot", "servers", "reply_url" })
public class WSSharedMeetingDetail {

	@JsonProperty("id")
	private String uid;

	@JsonProperty("room_id")
	private String roomId;

	private String title;

	private String content;

	@JsonProperty("start_time")
	private Date startDate;

	@JsonProperty("end_time")
	private Date endDate;

	private String url;

	private WSSharedMeetingUser presenter;

	@JsonProperty("meeting_type")
	private int type;

	private int status;

	private String snapshot;

	@JsonProperty("count")
	private int attendeesCount;

	@JsonProperty("members")
	private List<WSSharedMeetingUser> attendees;

	private List<WSSharedMeetingServer> servers;

	@JsonProperty("replay_url")
	private WSSharedMeetingReplayURL replayUrl;

	public WSSharedMeetingDetail(Meeting m) {
		this.uid = m.getUid();
		this.roomId = m.getConfRoomId();
		this.title = m.getTitle();
		this.content = m.getContent();
		this.startDate = m.getStartDate();
		this.endDate = m.getEndDate();
		//this.type = CacheManager.getDictCache().getDictNameBySepId(SiteConstants.DICT_DOMAIN_MEETING_TYPE, m.getTypeDsid());
		//this.status = CacheManager.getDictCache().getDictNameBySepId(SiteConstants.DICT_DOMAIN_MEETING_STATUS, m.getStatusDsid());
		this.type = m.getTypeDsid();
		this.status = m.getStatusDsid();
	}

	public String getUid() {
		return uid;
	}

	public void setUid(String uid) {
		this.uid = uid;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getRoomId() {
		return roomId;
	}

	public void setRoomId(String roomId) {
		this.roomId = roomId;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public WSSharedMeetingUser getPresenter() {
		return presenter;
	}

	public void setPresenter(WSSharedMeetingUser presenter) {
		this.presenter = presenter;
	}

	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public String getSnapshot() {
		return snapshot;
	}

	public void setSnapshot(String snapshot) {
		this.snapshot = snapshot;
	}

	public int getAttendeesCount() {
		return attendeesCount;
	}

	public void setAttendeesCount(int attendeesCount) {
		this.attendeesCount = attendeesCount;
	}

	public List<WSSharedMeetingUser> getAttendees() {
		return attendees;
	}

	public void setAttendees(List<WSSharedMeetingUser> attendees) {
		this.attendees = attendees;
	}

	public List<WSSharedMeetingServer> getServers() {
		return servers;
	}

	public void setServers(List<WSSharedMeetingServer> servers) {
		this.servers = servers;
	}

	public WSSharedMeetingReplayURL getReplayUrl() {
		return replayUrl;
	}

	public void setReplayUrl(WSSharedMeetingReplayURL replayUrl) {
		this.replayUrl = replayUrl;
	}

}
